PassThroughCode refactoring and create PassThrough Core and API for enhace reusability

better method name and javadoc comment needed